<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
	<head>
		<title></title>
	</head>
	<body>
        <tr>
        </tr>
        <td>
        </td>
        &nbsp;
        <tr>
        </tr>
        <td align="center">
        </td>
        <table bgcolor="#d8d8c4" border="1" cellpadding="2" cellspacing="1" width="100%">
            <tr>
                <td colspan="2">
                    <font color="#808000" face="Arial"><strong>General Constraint Information</strong></font></td>
            </tr>
            <tr>
                <td width="25%">
                    <font face="Arial" size="2">Data Dictionary Objects Related To Constraints </font>
                </td>
                <td width="75%">
                    <font face="Courier">con$<br />
                        ccol$<br />
                        ind$<br />
                        icol$<br />
                    </font>
                    <table bgcolor="#ffffff" border="1" bordercolor="#808080" cellpadding="0" cellspacing="0"
                        width="75%">
                        <tr>
                            <td align="center" width="33%">
                                <font face="Arial" size="2"><b>DBA</b></font></td>
                            <td align="center" width="33%">
                                <font face="Arial" size="2"><b>ALL</b></font></td>
                            <td align="center" width="34%">
                                <font face="Arial" size="2"><b>USER</b></font></td>
                        </tr>
                        <tr>
                            <td align="center" width="33%">
                                <font face="Arial" size="2">dba_cons_columns</font></td>
                            <td align="center" width="33%">
                                <font face="Arial" size="2">all_cons_columns</font></td>
                            <td align="center" width="34%">
                                <font face="Arial" size="2">user_cons_columns</font></td>
                        </tr>
                        <tr>
                            <td align="center" width="33%">
                                <font face="Arial" size="2">dba_constraints</font></td>
                            <td align="center" width="33%">
                                <font face="Arial" size="2">all_constraints</font></td>
                            <td align="center" width="34%">
                                <font face="Arial" size="2">user_constraints</font></td>
                        </tr>
                        <tr>
                            <td align="center" width="33%">
                                <font face="Arial" size="2">dba_indexes</font></td>
                            <td align="center" width="33%">
                                <font face="Arial" size="2">all_indexes</font></td>
                            <td align="center" width="34%">
                                <font face="Arial" size="2">user_indexes</font></td>
                        </tr>
                        <tr>
                            <td align="center" width="33%">
                                <font face="Arial" size="2">dba_ind_partitions</font></td>
                            <td align="center" width="33%">
                                <font face="Arial" size="2">all_ind_partitions</font></td>
                            <td align="center" width="34%">
                                <font face="Arial" size="2">user_ind_partitions</font></td>
                        </tr>
                        <tr>
                            <td align="center" width="33%">
                                <font face="Arial" size="2">dba_ind_subpartitions</font></td>
                            <td align="center" width="33%">
                                <font face="Arial" size="2">all_ind_subpartitions</font></td>
                            <td align="center" width="34%">
                                <font face="Arial" size="2">user_ind_subpartitions</font></td>
                        </tr>
                    </table>
                </td>
            </tr>
            <tr>
                <td width="25%">
                    <font face="Arial" size="2">Privileges Related To Constraints</font></td>
                <td width="75%">
                    <font face="Arial" size="2">To create a foreign key constraint on an object in a different
                        schema you must have the REFERENCES privilege on the columns of the referenced key
                        in the parent table or view.</font></td>
            </tr>
            <tr>
                <td width="25%">
                    <font face="Arial" size="2">Constraint Types &amp; Codes</font></td>
                <td width="75%">
                    <table bgcolor="#ffffff" border="1" bordercolor="#808080" cellpadding="0" cellspacing="0"
                        width="75%">
                        <tr>
                            <td align="center">
                                <b><font face="Arial" size="2">Type Code</font></b></td>
                            <td align="center">
                                <b><font face="Arial" size="2">Type Description</font></b></td>
                            <td align="center">
                                <b><font face="Arial" size="2">Acts On Level</font></b></td>
                        </tr>
                        <tr>
                            <td align="center">
                                <font face="Arial" size="2">C</font></td>
                            <td>
                                <font face="Arial" size="2">Check on a table</font></td>
                            <td align="center">
                                <font face="Arial" size="2">Column</font></td>
                        </tr>
                        <tr>
                            <td align="center">
                                <font face="Arial" size="2">O</font></td>
                            <td>
                                <font face="Arial" size="2">Read Only on a view</font></td>
                            <td align="center">
                                <font face="Arial" size="2">Object</font></td>
                        </tr>
                        <tr>
                            <td align="center">
                                <font face="Arial" size="2">P</font></td>
                            <td>
                                <font face="Arial" size="2">Primary Key</font></td>
                            <td align="center">
                                <font face="Arial" size="2">Object</font></td>
                        </tr>
                        <tr>
                            <td align="center">
                                <font face="Arial" size="2">R</font></td>
                            <td>
                                <font face="Arial" size="2">Referential AKA Foreign Key</font></td>
                            <td align="center">
                                <font face="Arial" size="2">Column</font></td>
                        </tr>
                        <tr>
                            <td align="center">
                                <font face="Arial" size="2">U</font></td>
                            <td>
                                <font face="Arial" size="2">Unique Key</font></td>
                            <td align="center">
                                <font face="Arial" size="2">Column</font></td>
                        </tr>
                        <tr>
                            <td align="center">
                                <font face="Arial" size="2">V</font></td>
                            <td>
                                <font face="Arial" size="2">Check Option on a view</font></td>
                            <td align="center">
                                <font face="Arial" size="2">Object</font></td>
                        </tr>
                    </table>
                </td>
            </tr>
            <tr>
                <td width="25%">
                    <font face="Arial" size="2">Alter Constraint </font>
                </td>
                <td width="75%">
                    <font face="Arial" size="2">Constraints can not be altered. They must be dropped and
                        recreated. Some modifications are allowed via ALTER TABLE.</font></td>
            </tr>
            <tr>
                <td colspan="2">
                    &nbsp;</td>
            </tr>
            <tr>
                <td colspan="2">
                    <strong><font color="#808000" face="Arial">Definitions</font></strong></td>
            </tr>
            <tr>
                <td width="25%">
                    <font face="Arial" size="2">DISABLE</font></td>
                <td width="75%">
                    <font face="Arial" size="2">Allows incoming data, regardless of whether it conforms
                        to the constraint</font></td>
            </tr>
            <tr>
                <td width="25%">
                    <font face="Arial" size="2">ENABLE</font></td>
                <td width="75%">
                    <font face="Arial" size="2">Ensures that all incoming data conforms to the constraint</font></td>
            </tr>
            <tr>
                <td width="25%">
                    <font face="Arial" size="2">FREELISTS</font></td>
                <td width="75%">
                    <font face="Arial" size="2">Specifies the number of lists of available index blocks.
                        Oracle ignores this if the tablespace in which the object resides is in automatic
                        segment-space management (ASSM) mode.</font></td>
            </tr>
            <tr>
                <td width="25%">
                    <font face="Arial" size="2">INITRANS</font></td>
                <td width="75%">
                    <font face="Arial" size="2">Specify the initial number of concurrent transaction entries
                        allocated within each data block allocated to the database object. This value can
                        range from 1 to 255 and defaults to 2 for indexes.</font></td>
            </tr>
            <tr>
                <td width="25%">
                    <font face="Arial" size="2">NORELY</font></td>
                <td width="75%">
                    <font face="Arial" size="2">Do not enforce the enabled constraint</font></td>
            </tr>
            <tr>
                <td width="25%">
                    <font face="Arial" size="2">NOVALIDATE</font></td>
                <td width="75%">
                    <font face="Arial" size="2">Validates changes but does not validate previously existing
                        data</font></td>
            </tr>
            <tr>
                <td width="25%">
                    <font face="Arial" size="2">PCTFREE</font></td>
                <td width="75%">
                    <font face="Arial" size="2">Control the amount of free space in the index data block
                        for updating. In a Primary Key constraint's index it would be rare that this not
                        be set to zero (0).</font></td>
            </tr>
            <tr>
                <td width="25%">
                    <font face="Arial" size="2">RELY</font></td>
                <td width="75%">
                    <font face="Arial" size="2">Enforce the enabled constraint</font></td>
            </tr>
            <tr>
                <td width="25%">
                    <font face="Arial" size="2">Surrogate Key</font></td>
                <td width="75%">
                    <font face="Arial" size="2">Exposed locators such as IDENTITY are not surrogate keys.
                        A surrogate is totally hidden from users and maintained by the system -- think of
                        how an index works. If you change a natural key, the DRI actions will<br />
                        cascade it for you. Hell does not break loose. But if your autonumber and real key
                        are out of synch, then you are screwed. Just enter the same record several times
                        to get different autonumbers on duplicate<br />
                        rows. Drop all but one of the dups and then try to find all of the referenced rows
                        in other tables.<br />
                        <br />
                        If you maintain the exposed locator by hand, you have extra work, extra disk seeks
                        and will eventually make a mistake, thus destroying your data integrity. How would
                        you validate and verify your data?<br />
                        <br />
                        The UPC code just went from 10 to 13 digits. It does not matter if you used an autonumber
                        or the UPC, the UPC has to be updated. If you had used a proper RDBMS design and
                        SQL-92, you would do an ALTER DOMAIN and a single update with CASCADE. This is one
                        of the MANY reasons that rows are not records. This is a problem in SQL Server because
                        it is still based on a contiguous storage model, but other products are not, so
                        wind up using tools to write scripts.<br />
                        <br />
                        ~ Joe Celko in comp.databases.ms-sqlserver 10/13/2005</font></td>
            </tr>
            <tr>
                <td width="25%">
                    <font face="Arial" size="2">TABLESPACE</font></td>
                <td width="75%">
                    <font face="Arial" size="2">The tablespace where any associated index will be built</font></td>
            </tr>
            <tr>
                <td width="25%">
                    <font face="Arial" size="2">VALIDATE</font></td>
                <td width="75%">
                    <font face="Arial" size="2">Validate previously existing data as well as all changes</font></td>
            </tr>
        </table>
	
	</body>
</html>